gtktrayicon-x11: Stop using set_double_buffered
authorJasper St. Pierre <jstpierre@mecheye.net>
Sat, 21 Jun 2014 04:30:07 +0000 (00:30 -0400)
committerJasper St. Pierre <jstpierre@mecheye.net>
Sat, 21 Jun 2014 04:30:45 +0000 (00:30 -0400)
There's nothing better we can do for this case, now that we always
redirect drawing to a temporary pixmap. Maybe since this is already
X11-specific code, we should just do everything with Xlib directly.

gtk/gtktrayicon-x11.c

index 371cd0ed623c53048b102710fed76dca6df54f43..503d64b65b07bffff8d6075c1f1c9d104d7b0bd6 100644 (file)
@@ -355,27 +355,6 @@ gtk_tray_icon_draw (GtkWidget *widget,
       cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
       cairo_paint (cr);
     }
-  else
-    {
-      GdkRectangle clip;
-
-      if (gdk_cairo_get_clip_rectangle (cr, &clip))
-        {
-          /* Clear to parent-relative pixmap
-           * We need to use direct X access here because GDK doesn't know about
-           * the parent realtive pixmap. */
-          cairo_surface_flush (target);
-
-          XClearArea (GDK_WINDOW_XDISPLAY (window),
-                      GDK_WINDOW_XID (window),
-                      clip.x, clip.y,
-                      clip.width, clip.height,
-                      False);
-          cairo_surface_mark_dirty_rectangle (target, 
-                                              clip.x, clip.y,
-                                              clip.width, clip.height);
-        }
-    }
 
   if (GTK_WIDGET_CLASS (gtk_tray_icon_parent_class)->draw)
     retval = GTK_WIDGET_CLASS (gtk_tray_icon_parent_class)->draw (widget, cr);
@@ -501,11 +480,6 @@ gtk_tray_icon_get_visual_property (GtkTrayIcon *icon)
       icon->priv->manager_visual_rgba = FALSE;
     }
 
-  /* For the background-relative hack we use when we aren't
-   * using a real RGBA visual, we can't be double-buffered
-   */
-  gtk_widget_set_double_buffered (GTK_WIDGET (icon), icon->priv->manager_visual_rgba);
-
   if (type != None)
     XFree (prop.prop);
 }